function saveData(self) {
    let personName = $('#personName').val();
    let personMobile = $('#personMobile').val();
    let personDescription = $('#personDescription').val();

    if (personName.trim().length === 0) {
        showMessage('error', '您的姓名不能为空');
        return;
    }

    if (personMobile.trim().length === 0) {
        showMessage('error', '联系方式不能为空');
        return;
    }

    if (personDescription.trim().length === 0) {
        showMessage('error', '意见建议不能为空');
        return;
    }

    showLoading();

    $(self).prop('disabled', true);

    $.post(serverUrl + ':' + serverPort + serverName + '/system/subFeedback', {
        userId: sessionStorage.getItem("loginWeChatUserId"),
        name: personName,
        mobile: personMobile,
        description: personDescription
    }, function (result) {
        hideLoading();

        let obj = JSON.parse(result);

        if (obj.code === 0) {
            // 显示成功消息（3秒后自动关闭）
            showMessage('success', '您的意见反馈已提交！');
        } else {
            // 显示错误消息（带标题）
            showMessage('error', obj.msg);
        }

        $(self).prop('disabled', false);
    });
}

function resetForm() {
    $('#personDescription').val('');

    // 按钮动画效果
    $('#resetBtn').html('<i class="fas fa-check"></i> 已重置');
    $('#resetBtn').css('background', '#f0f0f0');

    setTimeout(() => {
        $('#resetBtn').html('重置');
        $('#resetBtn').css('background', '#f8f8f8');
    }, 1500);
}